package hu.comicsans;

public abstract class Spray {
	
	/**
	 * A spray hátralevő fújásainak száma. 
	 */
	public int hatralevoFujasokSzama;
	
	/**
	 * Egy referencia a pályára, amihez a spray tartozik.
	 */
	protected Palya enPalyam = null;
	
	/**
	 * Létrehozza a sprayt.
	 * 
	 * @param p a pálya referenciája, ami a sprayt tartalmazza
	 * @param f a hátralevő fújások száma
	 */
	public Spray(Palya p, int f) {
		enPalyam = p;
		hatralevoFujasokSzama = f;
	}
	
	/**
	 * Visszaadja, hogy az adott spray kifogyott-e.
	 * 
	 * @return kifogyott-e a spray
	 */
	public Boolean kifogyott()
	{
		if (hatralevoFujasokSzama == 0)
		{
			return true;
		}
		
		return false;
	}
	
	/**
	 * Absztrakt metódus, a spray fújásának függvénye
	 * 
	 * @param posX a fújás X koordinátája
	 * @param posY a fújás Y koordinátája
	 * @return visszaadja, hogy a fújás sikerült-e 
	 */
	public abstract Boolean fuj(double posX, double posY);
}
